Micron Document
πŸŽ–οΈGitΠ―Ρ€Π°πŸŽ–οΈ


Displaying Raw β€’ Download

feature/discovery/src/commonMain/kotlin/org/meshtastic/feature/discovery/DiscoveryScanState.kt bf929c20f274232e0eb8ddc19b2dc82403e99e5b (bf929c20) Text, 2.90 KB

T8b949e/*
* Copyright (c) 2026 Meshtastic LLC
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
Tff7b72package T7ee787org.meshtastic.feature.discovery

T8b949e/**
* State machine for a discovery scan lifecycle.
*
* ```
* Idle β†’ Preparing β†’ Shifting β†’ [Reconnecting] β†’ Dwell β†’ Shifting (loop) β†’ Analysis β†’ Complete(Success)
* Any scanning β†’ Cancelling β†’ Restoring β†’ Complete(Cancelled)
* Any scanning β†’ Failed(reason) β†’ Restoring β†’ Complete(Failed)
* Reconnecting timeout β†’ Paused
* ```
*/
Tff7b72sealed Tff7b72interface T56d364DiscoveryScanState Tb4b4b4{
T8b949e/** No scan is active. */
Tff7b72data Tff7b72object T56d364Idle Tb4b4b4: Te6edf3DiscoveryScanState

T8b949e/** Validating inputs, capturing home preset snapshot. */
Tff7b72data Tff7b72object T56d364Preparing Tb4b4b4: Te6edf3DiscoveryScanState

T8b949e/** Radio is switching to a new LoRa preset. */
Tff7b72data Tff7b72class T56d364ShiftingTb4b4b4(Tff7b72val Te6edf3presetNameTb4b4b4: Tffa657StringTb4b4b4) Tb4b4b4: Te6edf3DiscoveryScanState

T8b949e/** Waiting for the radio to reconnect after a preset change. */
Tff7b72data Tff7b72class T56d364ReconnectingTb4b4b4(Tff7b72val Te6edf3presetNameTb4b4b4: Tffa657StringTb4b4b4) Tb4b4b4: Te6edf3DiscoveryScanState

T8b949e/** Listening on a preset and counting down the dwell timer. */
Tff7b72data Tff7b72class T56d364DwellTb4b4b4(Tff7b72val Te6edf3presetNameTb4b4b4: Tffa657StringTb4b4b4, Tff7b72val Te6edf3remainingSecondsTb4b4b4: Tffa657LongTb4b4b4, Tff7b72val Te6edf3totalSecondsTb4b4b4: Tffa657LongTb4b4b4) Tb4b4b4: Te6edf3DiscoveryScanState

T8b949e/** All presets scanned; aggregating results. */
Tff7b72data Tff7b72object T56d364Analysis Tb4b4b4: Te6edf3DiscoveryScanState

T8b949e/** Scan finished and results are persisted. */
Tff7b72data Tff7b72class T56d364CompleteTb4b4b4(Tff7b72val Te6edf3outcomeTb4b4b4: Te6edf3CompletionOutcome Tff7b72= Te6edf3CompletionOutcomeTb4b4b4.Te6edf3SuccessTb4b4b4) Tb4b4b4: Te6edf3DiscoveryScanState

T8b949e/** Scan paused due to an unrecoverable transient condition (e.g. reconnect timeout). */
Tff7b72data Tff7b72class T56d364PausedTb4b4b4(Tff7b72val Te6edf3reasonTb4b4b4: Tffa657StringTb4b4b4) Tb4b4b4: Te6edf3DiscoveryScanState

T8b949e/** User-initiated cancellation in progress; persisting partial results before restoring home preset. */
Tff7b72data Tff7b72object T56d364Cancelling Tb4b4b4: Te6edf3DiscoveryScanState

T8b949e/** Restoring the home preset after scan stop or completion. */
Tff7b72data Tff7b72object T56d364Restoring Tb4b4b4: Te6edf3DiscoveryScanState

T8b949e/** Scan failed due to an unrecoverable error. */
Tff7b72data Tff7b72class T56d364FailedTb4b4b4(Tff7b72val Te6edf3reasonTb4b4b4: Tffa657StringTb4b4b4) Tb4b4b4: Te6edf3DiscoveryScanState

T8b949e/** Differentiates how a scan completed. */
Tff7b72enum Tff7b72class T56d364CompletionOutcome Tb4b4b4{
T8b949e/** All presets were scanned successfully. */
Te6edf3SuccessTb4b4b4,

T8b949e/** The user cancelled the scan mid-way. */
Te6edf3CancelledTb4b4b4,

T8b949e/** The scan failed due to an unrecoverable error. */
Te6edf3FailedTb4b4b4,
Tb4b4b4}
Tb4b4b4}

Served by rngit 1.5.0 - Generated in 0.05s